package jpa.entitys.promis.construction;

import java.io.Serializable;

import javax.persistence.*;

import java.math.BigDecimal;
import java.util.Date;


/**
 * The persistent class for the COST_CONTRACT_INSTALLMENTS database table.
 * 
 */
@Entity
@Table(name="COST_CONTRACT_INSTALLMENTS")
public class CostContractInstallment extends jpa.entitys.common.CommonEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	@EmbeddedId
	private CostContractInstallmentPK id;
	
	@Override public String toString() { return org.apache.commons.lang.builder.ToStringBuilder.reflectionToString(this);}

	@Column(name="ADVANCE_RECOVER", precision=16, scale=2)
	private BigDecimal advanceRecover;

	@Column(name="ADVANCE_RECOVER_LC", precision=16, scale=2)
	private BigDecimal advanceRecoverLc;

	@Column(name="BOQ_AMOUNT", precision=22)
	private BigDecimal boqAmount;

	@Column(name="BOQ_CODE", length=30)
	private String boqCode;

	@Column(name="BOQ_NET_AMOUNT", precision=22)
	private BigDecimal boqNetAmount;

	@Column(name="BUILDING_PHASE", length=30)
	private String buildingPhase;

	@Column(name="CONTRACT_GUARANTEE_AMOUNT", precision=16, scale=2)
	private BigDecimal contractGuaranteeAmount;

	@Column(name="CONTRACT_GUARANTEE_PERCENT", precision=16, scale=2)
	private BigDecimal contractGuaranteePercent;

	@Column(name="COST_CONTRACT_INST_ID", length=100)
	private String costContractInstId;

	@Column(name="CREATED_BY")
	private String createdBy;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="CREATED_ON")
	private Date createdOn;

	@Column(length=300)
	private String description;

	@Column(name="GD_AMOUNT", precision=16, scale=2)
	private BigDecimal gdAmount;

	@Column(name="GD_AMOUNT_LC", precision=16, scale=2)
	private BigDecimal gdAmountLc;

	@Column(name="GD_PERCENT", precision=16, scale=2)
	private BigDecimal gdPercent;

	@Column(name="INSTALLMENT_AMOUNT", precision=16, scale=2)
	private BigDecimal installmentAmount;

	@Column(name="INSTALLMENT_AMOUNT_LC", precision=16, scale=2)
	private BigDecimal installmentAmountLc;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="INSTALLMENT_DUE_DATE")
	private Date installmentDueDate;

	@Column(name="INSTALLMENT_PCT", precision=16, scale=2)
	private BigDecimal installmentPct;

	@Column(name="INSTALLMENT_TYPE", length=10)
	private String installmentType;

	@Column(name="LAST_UPD_BY")
	private String lastUpdBy;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="LAST_UPD_ON")
	private Date lastUpdOn;

	@Column(name="NET_AMOUNT", precision=16, scale=2)
	private BigDecimal netAmount;

	@Column(name="NET_AMOUNT_LC", precision=16, scale=2)
	private BigDecimal netAmountLc;

	@Column(name="NET_INSTALLMENT_AMOUNT", precision=16, scale=2)
	private BigDecimal netInstallmentAmount;

	@Column(name="PERCENTAGE_PROGRESS", precision=16, scale=2)
	private BigDecimal percentageProgress;

	@Column(length=3000)
	private String remarks;

	@Column(name="SYNC_CREATEDBY", length=100)
	private String syncCreatedby;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="SYNC_CREATEDON")
	private Date syncCreatedon;

	@Column(name="SYNC_EXTERNAL_REF_KEY", length=100)
	private String syncExternalRefKey;

	@Column(name="SYNC_EXTERNAL_REF_NO", length=100)
	private String syncExternalRefNo;

	@Column(name="SYNC_ISSTAGING", length=1)
	private String syncIsstaging;

	@Column(name="SYNC_ISSYNC", length=1)
	private String syncIssync;

	@Column(name="SYNC_UPDATEDBY", length=100)
	private String syncUpdatedby;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="SYNC_UPDATEDON")
	private Date syncUpdatedon;

	@Column(name="UNIT_NUMBER", length=30)
	private String unitNumber;

	@Column(name="VAT_RECEIVED", precision=16, scale=2)
	private BigDecimal vatReceived;

	@Column(name="VAT_RECEIVED_LC", precision=16, scale=2)
	private BigDecimal vatReceivedLc;

	@Column(name="ZONE_CODE", length=30)
	private String zoneCode;

    public CostContractInstallment() {
    }

	public CostContractInstallmentPK getId() {
		return this.id;
	}

	public void setId(CostContractInstallmentPK id) {
		this.id = id;
	}
	
	public BigDecimal getAdvanceRecover() {
		return this.advanceRecover;
	}

	public void setAdvanceRecover(BigDecimal advanceRecover) {
		this.advanceRecover = advanceRecover;
	}

	public BigDecimal getAdvanceRecoverLc() {
		return this.advanceRecoverLc;
	}

	public void setAdvanceRecoverLc(BigDecimal advanceRecoverLc) {
		this.advanceRecoverLc = advanceRecoverLc;
	}

	public BigDecimal getBoqAmount() {
		return this.boqAmount;
	}

	public void setBoqAmount(BigDecimal boqAmount) {
		this.boqAmount = boqAmount;
	}

	public String getBoqCode() {
		return this.boqCode;
	}

	public void setBoqCode(String boqCode) {
		this.boqCode = boqCode;
	}

	public BigDecimal getBoqNetAmount() {
		return this.boqNetAmount;
	}

	public void setBoqNetAmount(BigDecimal boqNetAmount) {
		this.boqNetAmount = boqNetAmount;
	}

	public String getBuildingPhase() {
		return this.buildingPhase;
	}

	public void setBuildingPhase(String buildingPhase) {
		this.buildingPhase = buildingPhase;
	}

	public BigDecimal getContractGuaranteeAmount() {
		return this.contractGuaranteeAmount;
	}

	public void setContractGuaranteeAmount(BigDecimal contractGuaranteeAmount) {
		this.contractGuaranteeAmount = contractGuaranteeAmount;
	}

	public BigDecimal getContractGuaranteePercent() {
		return this.contractGuaranteePercent;
	}

	public void setContractGuaranteePercent(BigDecimal contractGuaranteePercent) {
		this.contractGuaranteePercent = contractGuaranteePercent;
	}

	public String getCostContractInstId() {
		return this.costContractInstId;
	}

	public void setCostContractInstId(String costContractInstId) {
		this.costContractInstId = costContractInstId;
	}

	public String getCreatedBy() {
		return this.createdBy;
	}

	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	public Date getCreatedOn() {
		return this.createdOn;
	}

	public void setCreatedOn(Date createdOn) {
		this.createdOn = createdOn;
	}

	public String getDescription() {
		return this.description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public BigDecimal getGdAmount() {
		return this.gdAmount;
	}

	public void setGdAmount(BigDecimal gdAmount) {
		this.gdAmount = gdAmount;
	}

	public BigDecimal getGdAmountLc() {
		return this.gdAmountLc;
	}

	public void setGdAmountLc(BigDecimal gdAmountLc) {
		this.gdAmountLc = gdAmountLc;
	}

	public BigDecimal getGdPercent() {
		return this.gdPercent;
	}

	public void setGdPercent(BigDecimal gdPercent) {
		this.gdPercent = gdPercent;
	}

	public BigDecimal getInstallmentAmount() {
		return this.installmentAmount;
	}

	public void setInstallmentAmount(BigDecimal installmentAmount) {
		this.installmentAmount = installmentAmount;
	}

	public BigDecimal getInstallmentAmountLc() {
		return this.installmentAmountLc;
	}

	public void setInstallmentAmountLc(BigDecimal installmentAmountLc) {
		this.installmentAmountLc = installmentAmountLc;
	}

	public Date getInstallmentDueDate() {
		return this.installmentDueDate;
	}

	public void setInstallmentDueDate(Date installmentDueDate) {
		this.installmentDueDate = installmentDueDate;
	}

	public BigDecimal getInstallmentPct() {
		return this.installmentPct;
	}

	public void setInstallmentPct(BigDecimal installmentPct) {
		this.installmentPct = installmentPct;
	}

	public String getInstallmentType() {
		return this.installmentType;
	}

	public void setInstallmentType(String installmentType) {
		this.installmentType = installmentType;
	}

	public String getLastUpdBy() {
		return this.lastUpdBy;
	}

	public void setLastUpdBy(String lastUpdBy) {
		this.lastUpdBy = lastUpdBy;
	}

	public Date getLastUpdOn() {
		return this.lastUpdOn;
	}

	public void setLastUpdOn(Date lastUpdOn) {
		this.lastUpdOn = lastUpdOn;
	}

	public BigDecimal getNetAmount() {
		return this.netAmount;
	}

	public void setNetAmount(BigDecimal netAmount) {
		this.netAmount = netAmount;
	}

	public BigDecimal getNetAmountLc() {
		return this.netAmountLc;
	}

	public void setNetAmountLc(BigDecimal netAmountLc) {
		this.netAmountLc = netAmountLc;
	}

	public BigDecimal getNetInstallmentAmount() {
		return this.netInstallmentAmount;
	}

	public void setNetInstallmentAmount(BigDecimal netInstallmentAmount) {
		this.netInstallmentAmount = netInstallmentAmount;
	}

	public BigDecimal getPercentageProgress() {
		return this.percentageProgress;
	}

	public void setPercentageProgress(BigDecimal percentageProgress) {
		this.percentageProgress = percentageProgress;
	}

	public String getRemarks() {
		return this.remarks;
	}

	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}

	public String getSyncCreatedby() {
		return this.syncCreatedby;
	}

	public void setSyncCreatedby(String syncCreatedby) {
		this.syncCreatedby = syncCreatedby;
	}

	public Date getSyncCreatedon() {
		return this.syncCreatedon;
	}

	public void setSyncCreatedon(Date syncCreatedon) {
		this.syncCreatedon = syncCreatedon;
	}

	public String getSyncExternalRefKey() {
		return this.syncExternalRefKey;
	}

	public void setSyncExternalRefKey(String syncExternalRefKey) {
		this.syncExternalRefKey = syncExternalRefKey;
	}

	public String getSyncExternalRefNo() {
		return this.syncExternalRefNo;
	}

	public void setSyncExternalRefNo(String syncExternalRefNo) {
		this.syncExternalRefNo = syncExternalRefNo;
	}

	public String getSyncIsstaging() {
		return this.syncIsstaging;
	}

	public void setSyncIsstaging(String syncIsstaging) {
		this.syncIsstaging = syncIsstaging;
	}

	public String getSyncIssync() {
		return this.syncIssync;
	}

	public void setSyncIssync(String syncIssync) {
		this.syncIssync = syncIssync;
	}

	public String getSyncUpdatedby() {
		return this.syncUpdatedby;
	}

	public void setSyncUpdatedby(String syncUpdatedby) {
		this.syncUpdatedby = syncUpdatedby;
	}

	public Date getSyncUpdatedon() {
		return this.syncUpdatedon;
	}

	public void setSyncUpdatedon(Date syncUpdatedon) {
		this.syncUpdatedon = syncUpdatedon;
	}

	public String getUnitNumber() {
		return this.unitNumber;
	}

	public void setUnitNumber(String unitNumber) {
		this.unitNumber = unitNumber;
	}

	public BigDecimal getVatReceived() {
		return this.vatReceived;
	}

	public void setVatReceived(BigDecimal vatReceived) {
		this.vatReceived = vatReceived;
	}

	public BigDecimal getVatReceivedLc() {
		return this.vatReceivedLc;
	}

	public void setVatReceivedLc(BigDecimal vatReceivedLc) {
		this.vatReceivedLc = vatReceivedLc;
	}

	public String getZoneCode() {
		return this.zoneCode;
	}

	public void setZoneCode(String zoneCode) {
		this.zoneCode = zoneCode;
	}

}